
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if not nums:
            return 0
        index,val,go=1,nums[0],1
        n=len(nums)
        while go<n: 
            if val!=nums[go]:
                val=nums[go]
                nums[index]=nums[go]
                index+=1
                go+=1
            else:
                i=go
                while i<n and nums[i]==val:
                    i+=1
                if i==n:
                    return index
                val=nums[i]
                nums[index]=nums[i]
                index+=1
                go=i+1
        return index


'''
执行用时：
40 ms
, 在所有 Python3 提交中击败了
91.36%
的用户
内存消耗：
15.8 MB
, 在所有 Python3 提交中击败了
5.08%
的用户

'''